import { useState, useEffect } from 'react';

    /**
     * 自定义Hook，用于防抖处理
     * @param {any} value - 需要防抖的值
     * @param {number} delay - 延迟时间（毫秒）
     * @returns {any} 防抖后的值
     */
    const useDebounce = (value, delay = 500) => {
      const [debouncedValue, setDebouncedValue] = useState(value);

      useEffect(() => {
        // 设置定时器
        const timer = setTimeout(() => {
          setDebouncedValue(value);
        }, delay);

        // 清理函数，在组件卸载或value/delay变化时调用
        return () => {
          clearTimeout(timer);
        };
      }, [value, delay]);

      return debouncedValue;
    };

    export default useDebounce;
